#pragma once
#include "Core.h"
#include "Event/Event.h"
namespace Engine
{
	class ENGINE_API Layer
	{
	public:
		Layer(const std::string& name = "Layer");
		virtual	~Layer() = default;
		
		virtual void OnAttach() {}
		virtual void OnDetach() {}
		virtual void OnUpdate() {}
		virtual void OnImGui() {}
		virtual void OnEvent(Event& e) {}
		const std::string& GetName() const { return mName; }
	protected:
		std::string mName;
	};
}

